package com.example.hospitaldemo.util;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * 后台的跨域处理
 */
@Configuration
public class CorsConfig implements WebMvcConfigurer {
    //    @CrossOrigin//局部跨域，针对一个方法或者类，基本不使用
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry
                //设置跨域时允许访问的资源
                // .addMapping("/dept/**")
                .addMapping("/**")
                //设置跨域时允许访问的前端服务地址
                // .allowedOriginPatterns("http://localhost:3000")
                .allowedOriginPatterns("*")
                //设置跨域时允许的请求方式
                // .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
                .allowedMethods("*")
                //设置跨域时允许前端携带的自定义请求头
                // .allowedHeaders("test")
                //设置跨域时允许后台向前端响应的头部信息,暴露自定义响应头
                // .exposedHeaders("test")
                //设置跨域时是否允许携带凭证(会话凭证,存储HttpSession对象的唯一标识的Cookie)
                .allowCredentials(true)
                //设置生效时间
                .maxAge(3600);
//        registry.addMapping("/**").allowedOriginPatterns("*").allowedMethods("*").allowCredentials(true).maxAge(3600);
    }
}